# -*- coding: utf-8 -*-
"""
Created on Fri May 17 15:12:21 2024
姓名：鲁佳贝
学号：2022508Q10909
@author: 48848
"""
"""
寻找水仙花数。

说明：水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯特朗数，它是一个3位数，该数字
每个位上数字的立方之和正好等于它本身，例如：13+53+33=153

"""
def sxh(x):
#    x = input('请输入一个三位数')
    x = str(x)
    a = x[0]
    b = x[1]
    c = x[2]
    x = int(x)
    a = int(a)
    b = int(b)
    c = int(c)
    if x == a**3 + b**3 + c**3:
        print(x,'是一个水仙花数')
    else:
        print(x,'不是一个水仙花数')
    return 

"""
百钱百鸡问题。

说明：百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题：鸡翁一值钱五，鸡母一
值钱三，鸡雏三值钱一。百钱买百鸡，问鸡翁、鸡母、鸡雏各几何？翻译成现代文是：公鸡5元一只，
母鸡3元一只，小鸡1元三只，用100块钱买一百只鸡，问公鸡、母鸡、小鸡各有多少只？
"""
def bqbj():
    for x in range(21):   #x公鸡数量
        for y in range(34):   #y母鸡数量
            z = 100-x-y
            if 5*x + 3*y + z/3 == 100:
                print('公鸡',x,'只','母鸡',y,'只','小鸡',z,'只')
    return
"""
CRAPS赌博游戏。

说明：CRAPS又称花旗骰，是美国拉斯维加斯非常受欢迎的一种的桌上赌博游戏。该游戏使用两粒骰子，
玩家通过摇两粒骰子获得点数进行游戏。简单的规则是：玩家第一次摇骰子如果摇出了7点或11点，
玩家胜；玩家第一次如果摇出2点、3点或12点，庄家胜；其他点数玩家继续摇骰子，如果玩家摇出了7点，
庄家胜；如果玩家摇出了第一次摇的点数，玩家胜；其他点数，玩家继续要骰子，直到分出胜负。
"""
def dbyx():
    from random import randint      
    z = 1
    x = randint(1,6)+randint(1,6)
    print('第1次你摇到了',x)
    if x==7 or x==11:
        print("玩家胜")
    elif x==2 or x==3 or x==12:
        print('庄家胜')
    else:
            y = randint(1,6)+randint(1,6)
    #if y==7 or y==x:
        #print('第',z + 1,'次你摇到了', y)
    while y!=7 and y!=x:
        z = z+1
        print('第',z,'次你摇到了',y)
        y = randint(1,6)+randint(1,6)
        if y==7:
            print('第',z + 1,'次你摇到了', y)
            print('庄家胜')
        if y==x:
            print('第',z + 1,'次你摇到了', y)
            print('玩家胜')
        return
        
"""
while True:
        y = randint(1, 6) + randint(1, 6)
        z = z + 1
        print(f'第{z}次你摇到了', y)
        if y == 7:
            print('庄家胜')
            break
        elif y == x:
            print('玩家胜')
            break
"""

"""生成斐波那契数列的前20个数。
说明：斐波那契数列（Fibonacci sequence），又称黄金分割数列，是意大利数学家莱昂纳多·斐波那契
（Leonardoda Fibonacci）在《计算之书》中提出一个在理想假设条件下兔子成长率的问题而引入的数列，
所以这个数列也被戏称为"兔子数列"。斐波那契数列的特点是数列的前两个数都是1，从第三个数开始，
每个数都是它前面两个数的和，形如：1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...。
斐波那契数列在现代物理、准晶体结构、化学等领域都有直接的应用。
"""

def fbnqsl():
    shulie = [1,1]  #给数列一个初始值1，1
    for i in range(2,20):#for循环给i从2-20的值
        a = shulie[i-1]+shulie[i-2]#i-1是前一个数，i-2是前两个数
        shulie.append(a)#向列表末尾添加一个a  a是前两个数的和
    print(shulie)
    return
        
"""
判断素数的函数
"""

def sushu(x):
    x = int(x)
    for i in range(2,x):
        if x % i == 0:
            print(x,"不是素数")
            break
        else:
            print(x,"是素数")
            break

"""
计算最大公约数
"""
def zdgys(x,y):
    if x < y:
       temp = x
       x = y
       y = temp
    ys = y
    # x和y同时取余一个数都=0时退出循环
    while(x % ys != 0 or y % ys != 0):
        ys -=1
    return ys 

"""
最小公倍数
"""
def zxgbs(x,y):
    bs = x * y / zdgys(x,y)
    return bs
        
        
        
           


























